import pandas as pd
import os
from glob import glob


def determine_company_type(scope):
    """根据经营范围判断企业角色"""
    if pd.isna(scope):
        return '未知'
    scope = str(scope).lower()
    # keywords = {
    #     # '农资经销商': ['农药零售', '化肥销售', '农用薄膜销售', '渔业专业机械的销售','农机具的销售','农药批发','肥料销售','农药销售'],
    #     '农药生产企业': ['农药生产', '农药加工', '农药研发', '甲拌磷乳油生产','农药制剂制造','环已氧基乙酸烯丙酯生产','农药复配加工','微生物杀菌剂制造','三嗪酮生产','生产农药','农药中间体生产','制造生物农药','微生物农药研制'],
    #     '肥料生产企业': ['有机肥的研发', '肥料的复混加工', '微生物肥料研发', '肥料生产','肥料制造','微生物肥料的制造','肥料研发','复混肥生产','中微量元素及功能肥料开发生产','化工产品（危险品除外）生产','磷酸二氢钾生产','肥料加工销售','钙肥生产','有机肥料的加','钾肥的生产销售','BB肥生产','生物双效化肥制造','微肥的研发','含氨基酸水溶肥料的生产与销售','复合微生物肥料研发','生物有机肥料研发','生物基材料技术研发','生物化工产品技术研发','硅肥料研发','土壤与肥料的复混加工'],
    #     '农业机械生产企业': ['农业机械制造', '农林牧渔专用仪器仪表制造', '农林牧副渔业专业机械的安装', '农林牧副渔业专业机械的维修','农业机械生产','农机装备生产','农机装备制造','农机装备加工','农业机械配件加工'],
    #     '种子生产企业' : ['林木种子生产经营','农作物种子生产','食用菌菌种生产','种子、种苗培育','花草种子培育']
    # }
    keywords = {
        # '农资经销商': ['农药零售', '化肥销售', '农用薄膜销售', '渔业专业机械的销售','农机具的销售','农药批发','肥料销售','农药销售'],
        '农药生产企业': ['农药生产', '制造、销售农药原药、制剂', '农药加工', '农药研发', '农药制造', '甲拌磷乳油生产',
                         '农药制剂制造', '环已氧基乙酸烯丙酯生产', '农药复配加工', '微生物杀菌剂制造', '三嗪酮生产',
                         '80%代森锌可湿性粉剂加工', '生产农药', '农药中间体生产', '制造生物农药', '微生物农药研制',
                         '敌敌畏乳油制造', '农药的生产', '农药分装', '乳油加工', '加工农药', '制造农药', '研发农药',
                         '农药技术研发', '生产、销售：农药', '制造生物农药', '制造化学农药','农药（单元明细为许可证附件内容）生产'],
        '肥料生产企业': ['有机肥的研发', '肥料的复混加工', '微生物肥料研发', '肥料生产', '肥料制造',
                         '微生物肥料的制造','肥料研发', '复混肥生产', '中微量元素及功能肥料开发生产', '化工产品（危险品除外）生产',
                         '磷酸二氢钾生产', '肥料加工销售', '钙肥生产', '有机肥料的加', '钾肥的生产销售', 'BB肥生产',
                         '生物双效化肥制造', '微肥的研发', '含氨基酸水溶肥料的生产与销售', '复合微生物肥料研发','土壤调理剂的生产',
                         '生物有机肥料研发', '生物基材料技术研发', '生物化工产品技术研发', '硅肥料研发','有机肥和生物肥的生产',
                         '土壤与肥料的复混加工'],
        '农业机械生产企业': ['农业机械制造', '农林牧渔专用仪器仪表制造', '农林牧副渔业专业机械的安装','输水带生产',
                             '农林牧副渔业专业机械的维修', '农业机械生产', '农机装备生产', '农机装备制造',
                             '农机装备加工','农业机械配件加工'],
        '种子生产企业': ['林木种子生产', '农作物种子生产', '食用菌菌种生产', '种子、种苗培育', '花草种子培育',
                         '小麦种子生产', '种子生产', '大豆种子的生产', '农作物种苗培育', '非主要农作物种子生产']
    }
    for category, keys in keywords.items():
        for key in keys:
            if key in scope:
                return category
    return '其他类型企业'


# 设置路径
input_dir = './data'  # 输入文件夹路径
output_dir = './out'  # 输出文件夹路径
os.makedirs(output_dir, exist_ok=True)

# 获取所有Excel文件
excel_files = glob(os.path.join(input_dir, '*.xlsx'))

for file_path in excel_files:
    # 读取文件，跳过首行，第二行为列名
    df = pd.read_excel(file_path, header=1)

    # 处理并添加新列（自动添加到最后一列）
    if '经营范围' in df.columns:
        df['企业角色'] = df['经营范围'].apply(determine_company_type)
    else:
        print(f"文件 {os.path.basename(file_path)} 缺少'经营范围'列，已跳过")
        continue

    # 生成输出路径
    filename = os.path.basename(file_path)
    output_path = os.path.join(output_dir, f"processed3_{filename}")

    # 保存文件
    df.to_excel(output_path, index=False, engine='openpyxl')
    print(f"文件 {filename} 处理完成，保存为 {output_path}")

print("所有文件处理完毕！")
